def deduplicate_dict_list(data, fields):
    """
    针对相邻重复项的字典列表去重工具

    :param data: 待去重的字典列表
    :param fields: 判断重复的字段列表
    :return: 去重后保持原序的新列表
    """
    if not fields:
        raise ValueError("去重字段不可为空")

    cleaned_data = []
    prev_key = None  # 记录前一个元素的特征键

    for item in data:
        # 生成当前元素的唯一特征键
        current_key = tuple(item.get(field, None) for field in fields)

        # 仅当特征键变化时保留元素
        if current_key != prev_key:
            cleaned_data.append(item)
            prev_key = current_key
    return cleaned_data